package com.hmdp.DistributedLock;

/**
 * 基于Redis实现分布式锁的接口
 */
public interface ILock {

    /**
     * 尝试获取锁，成功返回true，失败返回false
     *
     * @Param timeoutSeconds 锁持有的超时时间，单位：秒,过期自动释放锁
     * @Return boolean true：获取锁成功，false：获取锁失败
     */
    public boolean tryLock(long timeoutSeconds) throws InterruptedException;


    /**
     * 释放锁
     */
    public void unlock();
}
